package com.bfxy.disruptor;

public abstract class AbstractOwnableSynchronizer implements java.io.Serializable {

    private static final long serialVersionUID = 3737899427754241961L;

    protected AbstractOwnableSynchronizer() { }

    //独占模式下，获取这个锁的线程。ReentrantLock是独占的，同时只有一个线程能够获取这个锁。
    //Semaphore是共享的，多个线程获取这个锁之后，一起并行执行
    private transient Thread exclusiveOwnerThread; 

    //独占锁的线程（这个锁同时只能有一个线程获得，设置获得这个锁的线程）
    protected final void setExclusiveOwnerThread(Thread thread) {
        exclusiveOwnerThread = thread;
    }

    protected final Thread getExclusiveOwnerThread() {
        return exclusiveOwnerThread;
    }
}
